package cn.kgc;

import cn.kgc.entity.User;
import cn.kgc.mapper.UserMapper;


import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.IOException;
import java.io.Reader;
import java.util.Date;
import java.util.List;

/**
 * Hello world!
 */
public class App {
    public static void main(String[] args) {
        try {
            //读取mybatis配置文件
            Reader reader = Resources.getResourceAsReader("mybatis.xml");
            //通过配置文件新建一个会话工厂(通过配置文件键连接池)
            SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
            //通过会话工厂取得一个会话(取得一个数据库连接)
            SqlSession session=sessionFactory.openSession();
            //通过mapper文件生成一个实现类并创建一个对象(通过代理模式实现)
            UserMapper mapper=session.getMapper(UserMapper.class);
         /*   //调用对象调用函数
            List<User> users=mapper.selectUserList();
            for(User user :users){
                System.out.println(user);
            }*/

           /*User user=mapper.selectUserById(8);
            System.out.println(user);*/

            User user=new User();
            user.setUid(33);
            user.setName("黄灿灿");
            user.setSex("女");
            user.setBirthday(new Date());
            user.setUsername("jiaozhu");
            user.setPassword("666666");

        //    Integer status= mapper.updateUser(user);
          //  Integer status=mapper.updateUser(user);
            Integer status=mapper.deleteUserById(33);
            //增删改必须提交，负责数据会在内存中缓存不会操作数据库
            session.commit();
            System.out.println(status);



            //关闭会话(将连接还给连接池)
            session.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
